package sop;







import java.sql.ResultSet;
import java.sql.SQLException;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;




public class Komentarz {
    
private String autor;
private String dataWyslania;
private String tresc;
private int id; //id Zadania

public Komentarz(int id,String autor,String dataWyslania,String tresc){

this.id=id; 
this.autor=autor;
this.dataWyslania=currDate();
this.tresc=tresc;

}

public boolean ustawKomentarz(){

    String[] columns={"autor","dataWyslania","tresc","idZadanie"};
    String[] values={autor,dataWyslania,tresc,""+id};
    Main.db.insert("Komentarz", values, columns, false);
    return true;
}


private String currDate(){
    
DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
Calendar cal = Calendar.getInstance();
    
return dateFormat.format(cal.getTime());
}


public boolean edytujAutora(String autor, int idKom){
    String query="UPDATE Komentarz set autor='"+autor+"' WHERE idKomentarz="+idKom;
    Main.db.queryUpdate(query, false);
    return true;
}

 boolean edytujTresc(String tresc, int idKom){
	String query="UPDATE Komentarz set tresc='"+tresc+"' WHERE idKomentarz="+idKom;
	Main.db.queryUpdate(query, false);
	edytujDate(idKom); //automatycznie zmienia date po edycji - nie wiem czy potrzebne jak cos to skasowac
    return true;
}

public boolean edytujDate(int idKom){ 
	String query="UPDATE Komentarz set dataWyslania='"+currDate()+"' WHERE idKomentarz="+idKom;
	Main.db.queryUpdate(query, false);
    return true;
}

//tutaj nie wiem czym  zwracac tylko pole czy zrobic konkretne zapytanie do bazy
public String pokazAutora(){
	
    return autor;
}
public String pokazDate(){
    return dataWyslania;
}
public String pokazTresc(){
    return tresc;
}

public static ArrayList<Komentarz> zwrocKomenatrz(int idZadania){ //zwraca liste komentarzy dla danego zadania
    
    ArrayList<Komentarz> kom = new ArrayList<Komentarz>();
    ResultSet result = Main.db.select("Komentarz where idZadanie="+idZadania, false);
    try {
        if (result != null) {
            while (result.next()) {
  Komentarz koment = new Komentarz(result.getInt("idKomentarz"),  result.getString("autor"),
          result.getString("dataWyslania"), result.getString("tresc"));
                kom.add(koment);
            } 
            return kom;
        } else {
            return null;
        }

       
    }
    catch(SQLException e){
        System.out.println("Jezeli widzisz ten blad to programista go przewidzial");
        return null;
    }  
   
 }

}
